package com.lframework.xingyun.promo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.lframework.starter.web.core.dto.BaseDto;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.lframework.starter.web.core.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

/**
 * <p>
 * 会员营销活动表
 * </p>
 *
 */
@Data
@TableName("promo_marketing_member")
public class MarketingMember extends BaseEntity implements BaseDto {

    private static final long serialVersionUID = 1L;

    public static final String CACHE_NAME = "MarketingMember";

    /**
     * ID
     */
    private String id;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建人ID
     */
    @TableField(fill = FieldFill.INSERT)
    private String createById;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 修改人ID
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateById;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 会员活动名称
     */
    private String name;

    /**
     * 会员活动开始时间
     */
    private LocalDateTime beginDate;

    /**
     * 会员活动结束时间
     */
    private LocalDateTime endDate;

    /**
     * 会员活动类型(1:生日营销; 2:节日营销; 3:会员日营销;)
     */
    private Integer promotionsType;

    /**
     * 会员活动范围(1:当日; 2:当周; 3:当月;)
     */
    private Integer scopeType;

    /**
     * 参加方式(1:自动参加:; 2:手动参加; )
     */
    private Integer attendType;

    /**
     * 领取模式(1:活动范围内1次; 2:活动范围每日1次)
     */
    private Integer claimMode;

    /**
     * 是否适应全部会员等级
     */
    private Boolean allMemberLevel;

    /**
     * 是否消费积分翻倍
     */
    private Boolean consumeScoreFlag;

    /**
     * 积分倍率
     */
    private Integer consumeScoreRate;

    /**
     * 是否直接赠送积分
     */
    private Boolean scoreFlag;

    /**
     * 赠送积分
     */
    private Integer scoreValue;

    /**
     * 是否赠送优惠券
     */
    private Boolean couponFlag;

    /**
     * 是否消费折扣
     */
    private Boolean discountFlag;

    /**
     * 折扣
     */
    private BigDecimal discountValue;

}

